//运算符
//赋值运算符、逻辑运算符、按位运算符、关系运算符、算术运算符(优先级从低到高)
package main

import "fmt"

func main() {
	var (
		a = 5
		b = 6
	)
	//算术运算符
	fmt.Println(a + b)
	fmt.Println(a - b)
	fmt.Println(a * b)
	fmt.Println(a / b)
	fmt.Println(a % b)
	//a++ a-- 这种单独的运算语句，不能放在=号的右边进行赋值---》a=a+1
	fmt.Println(a)
	fmt.Println(b)
	//关系运算符
	fmt.Println(a == b)
	fmt.Println(a >= b)
	fmt.Println(a <= b)
	fmt.Println(a != b)
	fmt.Println(a > b)
	fmt.Println(a < b)
	//逻辑运算符 &&(两个条件都为真，则为真)、||、！(条件为真，则为假(取反操作))
	age := 21
	//年龄大于18并且小于60，两个都成立
	if age > 18 && age < 60 {
		fmt.Println("年轻")
	}
	//年龄小于18或者大于60，条件成立一个为真
	if age < 22 || age > 60 {
		fmt.Println("上班")
	}
	//not取反，原来为真，则为假，原来为假则为真
	isMarried := false
	fmt.Println(!isMarried)
	//位运算符
		//按位与(&),两位为1都为1
		fmt.Println(5&2)
		//按位或(|),有1则为1
		fmt.Println(5|2)
		//按位异或(^)，两位不一样则为1
		fmt.Println(5^2)
		//按位左移
		fmt.Println(5<<1)//往左移动一位
		//按位右移
		fmt.Println(5>>1)//往右移动一位
		//赋值运算符(给变量赋值)

}
